package com.lwbldy.modules.system.service;

import com.lwbldy.modules.system.domain.SysMenu;
import com.lwbldy.modules.system.vo.MenuVO;

import java.awt.*;
import java.util.List;

public interface SysMenuService {

    /**
     * 查询所有菜单
     */
    List<SysMenu> listAllSysMenu();

    /**
     * 根据id获取菜单信息
     * @param id 菜单id
     * @return
     */
    SysMenu queryById(long id);

    /**
     * 查询所有树状菜单
     * @return
     */
    List<MenuVO> queryAllTreeMenu();

    /**
     * 根据 角色id 查询菜单
     * @param roleId
     * @return
     */
    List<MenuVO> queryMenuByRole(Long roleId);

    /**
     *  根据用户id查询菜单
     * @param userId
     * @return
     */
    List<MenuVO> queryMenuByUserId(Long userId);

    /**
     * 保存系统菜单
     * @param sysMenu
     * @return
     */
    int saveSysMenu(SysMenu sysMenu);



    /**
     * 修改菜单信息
     * @param sysMenu
     * @return
     */
    int update(SysMenu sysMenu);

    /**
     * 根据id删除菜单
     * @param id
     * @return
     */
    int remove(Long id);

    /**
     * 批量删除菜单
     * @param ids
     * @return
     */
    int removeBatch(Long[] ids);

}
